home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / man / cat.1 / perldiag.1 < prev    next >
Text File  |  1995-07-25  |  104KB  |  2,509 lines

  1.  
  2.  
  3.  
  4.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           perldiag - various Perl diagnostics
  10.  
  11.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  12.           These messages are classified as follows (listed in
  13.           increasing order of desperation):
  14.  
  15.               (W) A warning (optional).
  16.               (D) A deprecation (optional).
  17.               (S) A severe warning (mandatory).
  18.               (F) A fatal error (trappable).
  19.               (P) An internal error you should never see (trappable).
  20.               (X) A very fatal error (non-trappable).
  21.  
  22.           Optional warnings are enabled by using the ----wwww switch.
  23.           Trappable errors may be trapped using the eval operator.
  24.           See the eval entry in the _p_e_r_l_f_u_n_c manpage.
  25.  
  26.           Some of these messages are generic.  Spots that vary are
  27.           denoted with a %s, just as in a printf format.  Note that
  28.           some message start with a %s!  The symbols "%-?@ sort before
  29.           the letters, while [ and \ sort after.
  30.  
  31.                (F) Lexically scoped variables aren't in a package, so
  32.                it doesn't make sense to try to declare one with a
  33.                package qualifier on the front.  Use _l_o_c_a_l() if you
  34.                want to localize a package variable.
  35.  
  36.                (F) The "no" keyword is recognized and executed at
  37.                compile time, and returns no useful value.  See the
  38.                _p_e_r_l_m_o_d manpage.
  39.  
  40.                (F) The "use" keyword is recognized and executed at
  41.                compile time, and returns no useful value.  See the
  42.                _p_e_r_l_m_o_d manpage.
  43.  
  44.           % may only be used in unpack
  45.               (F) You can't pack a string by supplying a checksum,
  46.               since the checksumming process loses information, and
  47.               you can't go the other way.  See the unpack entry in the
  48.               _p_e_r_l_f_u_n_c manpage.
  49.  
  50.           %s (...) interpreted as function
  51.               (W) You've run afoul of the rule that says that any list
  52.               operator followed by parentheses turns into a function,
  53.               with all the list operators arguments found inside the
  54.               parens.  See the section on _T_e_r_m_s _a_n_d _L_i_s_t _O_p_e_r_a_t_o_r_s
  55.               (_L_e_f_t_w_a_r_d) in the _p_e_r_l_o_p manpage.
  56.  
  57.           %s argument is not a HASH element
  58.               (F) The argument to _d_e_l_e_t_e() or _e_x_i_s_t_s() must be a hash
  59.               element, such as
  60.  
  61.  
  62.  
  63.      Page 1                                          (printed 6/30/95)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  71.  
  72.  
  73.  
  74.                   $foo{$bar}
  75.                   $ref->[12]->{"susie"}
  76.  
  77.  
  78.           %s did not return a true value
  79.               (F) A required (or used) file must return a true value
  80.               to indicate that it compiled correctly and ran its
  81.               initialization code correctly.  It's traditional to end
  82.               such a file with a "1;", though any true value would do.
  83.               See the require entry in the _p_e_r_l_f_u_n_c manpage.
  84.  
  85.           %s found where operator expected
  86.               (S) The Perl lexer knows whether to expect a term or an
  87.               operator.  If it sees what it knows to be a term when it
  88.               was expecting to see an operator, it gives you this
  89.               warning.  Usually it indicates that an operator or
  90.               delimiter was omitted, such as a semicolon.
  91.  
  92.           %s had compilation errors.
  93.               (F) The final summary message when a perl -c fails.
  94.  
  95.           %s has too many errors.
  96.               (F) The parser has given up trying to parse the program
  97.               after 10 errors.  Further error messages would likely be
  98.               uninformative.
  99.  
  100.           %s matches null string many times
  101.               (W) The pattern you've specified would be an infinite
  102.               loop if the regular expression engine didn't
  103.               specifically check for that.  See the _p_e_r_l_r_e manpage.
  104.  
  105.           %s never introduced
  106.               (S) The symbol in question was declared but somehow went
  107.               out of scope before it could possibly have been used.
  108.  
  109.           %s syntax OK
  110.               (F) The final summary message when a perl -c succeeds.
  111.  
  112.           ----PPPP not allowed for setuid/setgid script
  113.               (F) The script would have to be opened by the C
  114.               preprocessor by name, which provides a race condition
  115.               that breaks security.
  116.  
  117.           -T and -B not implemented on filehandles
  118.               (F) Perl can't peek at the stdio buffer of filehandles
  119.               when it doesn't know about your kind of stdio.  You'll
  120.               have to use a filename instead.
  121.  
  122.           ?+* follows nothing in regexp
  123.               (F) You started a regular expression with a quantifier.
  124.               Backslash it if you meant it literally.   See the _p_e_r_l_r_e
  125.               manpage.
  126.  
  127.  
  128.  
  129.      Page 2                                          (printed 6/30/95)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  137.  
  138.  
  139.  
  140.           @ outside of string
  141.               (F) You had a pack template that specified an absolution
  142.               position outside the string being unpacked.  See the
  143.               pack entry in the _p_e_r_l_f_u_n_c manpage.
  144.  
  145.           accept() on closed fd
  146.               (W) You tried to do an accept on a closed socket.  Did
  147.               you forget to check the return value of your _s_o_c_k_e_t()
  148.               call?  See the accept entry in the _p_e_r_l_f_u_n_c manpage.
  149.  
  150.           Allocation too large: %lx
  151.               (F) You can't allocate more than 64K on an MSDOS
  152.               machine.
  153.  
  154.           Arg too short for msgsnd
  155.               (F) _m_s_g_s_n_d() requires a string at least as long as
  156.               _s_i_z_e_o_f(long).
  157.  
  158.           Args must match #! line
  159.               (F) The setuid emulator requires that the arguments Perl
  160.               was invoked with match the arguments specified on the #!
  161.               line.
  162.  
  163.           Argument
  164.               (W) The indicated string was fed as an argument to an
  165.               operator that expected a numeric value instead.  If
  166.               you're fortunate the message will identify which
  167.               operator was so unfortunate.
  168.  
  169.           Array @%s missing the @ in argument %d of %s()
  170.               (D) Really old Perl let you omit the @ on array names in
  171.               some spots.  This is now heavily deprecated.
  172.  
  173.           assertion botched: %s
  174.               (P) The malloc package that comes with Perl had an
  175.               internal failure.
  176.  
  177.           Assertion failed: file
  178.               (P) A general assertion failed.  The file in question
  179.               must be examined.
  180.  
  181.           Assignment to both a list and a scalar
  182.               (F) If you assign to a conditional operator, the 2nd and
  183.               3rd arguments must either both be scalars or both be
  184.               lists.  Otherwise Perl won't know which context to
  185.               supply to the right side.
  186.  
  187.           Attempt to free non-arena SV: 0x%lx
  188.               (P) All SV objects are supposed to be allocated from
  189.               arenas that will be garbage collected on exit.  An SV
  190.               was discovered to be outside any of those arenas.
  191.  
  192.  
  193.  
  194.  
  195.      Page 3                                          (printed 6/30/95)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  203.  
  204.  
  205.  
  206.           Attempt to free temp prematurely
  207.               (W) Mortalized values are supposed to be freed by the
  208.               _f_r_e_e__t_m_p_s() routine.  This indicates that something else
  209.               is freeing the SV before the _f_r_e_e__t_m_p_s() routine gets a
  210.               chance, which means that the _f_r_e_e__t_m_p_s() routine will be
  211.               freeing an unreferenced scalar when it does try to free
  212.               it.
  213.  
  214.           Attempt to free unreferenced glob pointers
  215.               (P) The reference counts got screwed up on symbol
  216.               aliases.
  217.  
  218.           Attempt to free unreferenced scalar
  219.               (W) Perl went to decrement the reference count of a
  220.               scalar to see if it would go to 0, and discovered that
  221.               it had already gone to 0 earlier, and should have been
  222.               freed, and in fact, probably was freed.  This could
  223.               indicate that _S_v_R_E_F_C_N_T__d_e_c() was called too many times,
  224.               or that _S_v_R_E_F_C_N_T__i_n_c() was called too few times, or that
  225.               the SV was mortalized when it shouldn't have been, or
  226.               that memory has been corrupted.
  227.  
  228.           Bad arg length for %s, is %d, should be %d
  229.               (F) You passed a buffer of the wrong size to one of
  230.               _m_s_g_c_t_l(), _s_e_m_c_t_l() or _s_h_m_c_t_l().  In C parlance, the
  231.               correct sized are, respectively,
  232.               sizeof(struct msqid_ds *), sizeof(struct semid_ds *) and
  233.               sizeof(struct shmid_ds *).
  234.  
  235.           Bad associative array
  236.               (P) One of the internal hash routines was passed a null
  237.               HV pointer.
  238.  
  239.           Bad filehandle: %s
  240.               (F) A symbol was passed to something wanting a
  241.               filehandle, but the symbol has no filehandle associated
  242.               with it.  Perhaps you didn't do an _o_p_e_n(), or did it in
  243.               another package.
  244.  
  245.           Bad free() ignored
  246.               (S) An internal routine called _f_r_e_e() on something that
  247.               had never been _m_a_l_l_o_c()ed in the first place.
  248.  
  249.           Bad name after %s::
  250.               (F) You started to name a symbol by using a package
  251.               prefix, and then didn't finish the symbol.  In
  252.               particular, you can't interpolate outside of quotes, so
  253.  
  254.                   $var = 'myvar';
  255.                   $sym = mypack::$var;
  256.  
  257.               is not the same as
  258.  
  259.  
  260.  
  261.      Page 4                                          (printed 6/30/95)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  269.  
  270.  
  271.  
  272.                   $var = 'myvar';
  273.                   $sym = "mypack::$var";
  274.  
  275.  
  276.           Bad symbol for array
  277.               (P) An internal request asked to add an array entry to
  278.               something that wasn't a symbol table entry.
  279.  
  280.           Bad symbol for filehandle
  281.               (P) An internal request asked to add a filehandle entry
  282.               to something that wasn't a symbol table entry.
  283.  
  284.           Bad symbol for hash
  285.               (P) An internal request asked to add a hash entry to
  286.               something that wasn't a symbol table entry.
  287.  
  288.           BEGIN failed--compilation aborted
  289.               (F) An untrapped exception was raised while executing a
  290.               BEGIN subroutine.  Compilation stops immediately and the
  291.               interpreter is exited.
  292.  
  293.           bind() on closed fd
  294.               (W) You tried to do a bind on a closed socket.  Did you
  295.               forget to check the return value of your _s_o_c_k_e_t() call?
  296.               See the bind entry in the _p_e_r_l_f_u_n_c manpage.
  297.  
  298.           Callback called exit
  299.               (F) A subroutine invoked from an external package via
  300.               _p_e_r_l__c_a_l_l__s_v() exited by calling exit.
  301.  
  302.           Can't
  303.               (F) A "last" statement was executed to break out of the
  304.               current block, except that there's this itty bitty
  305.               problem called there isn't a current block.  Note that
  306.               an "if" or "else" block doesn't count as a "loopish"
  307.               block.  You can usually double the curlies to get the
  308.               same effect though, since the inner curlies will be
  309.               considered a block that loops once.  See the last entry
  310.               in the _p_e_r_l_f_u_n_c manpage.
  311.  
  312.           Can't
  313.               (F) A "next" statement was executed to reiterate the
  314.               current block, but there isn't a current block.  Note
  315.               that an "if" or "else" block doesn't count as a
  316.               "loopish" block.  You can usually double the curlies to
  317.               get the same effect though, since the inner curlies will
  318.               be considered a block that loops once.  See the last
  319.               entry in the _p_e_r_l_f_u_n_c manpage.
  320.  
  321.           Can't
  322.               (F) A "redo" statement was executed to restart the
  323.               current block, but there isn't a current block.  Note
  324.  
  325.  
  326.  
  327.      Page 5                                          (printed 6/30/95)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  335.  
  336.  
  337.  
  338.               that an "if" or "else" block doesn't count as a
  339.               "loopish" block.  You can usually double the curlies to
  340.               get the same effect though, since the inner curlies will
  341.               be considered a block that loops once.  See the last
  342.               entry in the _p_e_r_l_f_u_n_c manpage.
  343.  
  344.           Can't bless non-reference value
  345.               (F) Only hard references may be blessed.  This is how
  346.               Perl "enforces" encapsulation of objects.  See the
  347.               _p_e_r_l_o_b_j manpage.
  348.  
  349.           Can't break at that line
  350.               (S) A warning intended for while running within the
  351.               debugger, indicating the line number specified wasn't
  352.               the location of a statement that could be stopped at.
  353.  
  354.           Can't call method
  355.               (F) You called a method correctly, and it correctly
  356.               indicated a package functioning as a class, but that
  357.               package doesn't have ANYTHING defined in it, let alone
  358.               methods.  See the _p_e_r_l_o_b_j manpage.
  359.  
  360.           Can't call method
  361.               (F) A method call must know what package it's supposed
  362.               to run in.  It ordinarily finds this out from the object
  363.               reference you supply, but you didn't supply an object
  364.               reference in this case.  A reference isn't an object
  365.               reference until it has been blessed.  See the _p_e_r_l_o_b_j
  366.               manpage.
  367.  
  368.           Can't call method
  369.               (F) You used the syntax of a method call, but the slot
  370.               filled by the object reference or package name contains
  371.               an expression that returns neither an object reference
  372.               nor a package name.  (Perhaps it's null?) Something like
  373.               this will reproduce the error:
  374.  
  375.                   $BADREF = undef;
  376.                   process $BADREF 1,2,3;
  377.                   $BADREF->process(1,2,3);
  378.  
  379.  
  380.           Can't chdir to %s
  381.               (F) You called perl -x/foo/bar, but /foo/bar is not a
  382.               directory that you can chdir to, possibly because it
  383.               doesn't exist.
  384.  
  385.           Can't coerce %s to integer in %s
  386.               (F) Certain types of SVs, in particular real symbol
  387.               table entries (type GLOB), can't be forced to stop being
  388.               what they are.  So you can't say things like:
  389.  
  390.  
  391.  
  392.  
  393.      Page 6                                          (printed 6/30/95)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  401.  
  402.  
  403.  
  404.                   *foo += 1;
  405.  
  406.               You CAN say
  407.  
  408.                   $foo = *foo;
  409.                   $foo += 1;
  410.  
  411.               but then $foo no longer contains a glob.
  412.  
  413.           Can't coerce %s to number in %s
  414.               (F) Certain types of SVs, in particular real symbol
  415.               table entries (type GLOB), can't be forced to stop being
  416.               what they are.
  417.  
  418.           Can't coerce %s to string in %s
  419.               (F) Certain types of SVs, in particular real symbol
  420.               table entries (type GLOB), can't be forced to stop being
  421.               what they are.
  422.  
  423.           Can't create pipe mailbox
  424.               (F) An error peculiar to VMS.
  425.  
  426.           Can't declare %s in my
  427.               (F) Only scalar, array and hash variables may be
  428.               declared as lexical variables.  They must have ordinary
  429.               identifiers as names.
  430.  
  431.           Can't do inplace edit on %s: %s
  432.               (S) The creation of the new file failed for the
  433.               indicated reason.
  434.  
  435.           Can't do inplace edit without backup
  436.               (F) You're on a system such as MSDOS that gets confused
  437.               if you try reading from a deleted (but still opened)
  438.               file.  You have to say ----iiii.bak, or some such.
  439.  
  440.           Can't do inplace edit: %s > 14 characters
  441.               (S) There isn't enough room in the filename to make a
  442.               backup name for the file.
  443.  
  444.           Can't do inplace edit: %s is not a regular file
  445.               (S) You tried to use the ----iiii switch on a special file,
  446.               such as a file in /dev, or a FIFO.  The file was
  447.               ignored.
  448.  
  449.           Can't do setegid!
  450.               (P) The _s_e_t_e_g_i_d() call failed for some reason in the
  451.               setuid emulator of suidperl.
  452.  
  453.           Can't do seteuid!
  454.               (P) The setuid emulator of suidperl failed for some
  455.               reason.
  456.  
  457.  
  458.  
  459.      Page 7                                          (printed 6/30/95)
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  467.  
  468.  
  469.  
  470.           Can't do setuid
  471.               (F) This typically means that ordinary perl tried to
  472.               exec suidperl to do setuid emulation, but couldn't exec
  473.               it.  It looks for a name of the form sperl5.000 in the
  474.               same directory that the perl executable resides under
  475.               the name perl5.000, typically /usr/local/bin on Unix
  476.               machines.  If the file is there, check the execute
  477.               permissions.  If it isn't, ask your sysadmin why he
  478.               and/or she removed it.
  479.  
  480.           Can't do waitpid with flags
  481.               (F) This machine doesn't have either _w_a_i_t_p_i_d() or
  482.               _w_a_i_t_4(), so only _w_a_i_t_p_i_d() without flags is emulated.
  483.  
  484.           Can't do {n,m} with n > m
  485.               (F) Minima must be less than or equal to maxima.  If you
  486.               really want your regexp to match something 0 times, just
  487.               put {0}.  See the _p_e_r_l_r_e manpage.
  488.  
  489.           Can't emulate -%s on #! line
  490.               (F) The #! line specifies a switch that doesn't make
  491.               sense at this point.  For example, it'd be kind of silly
  492.               to put a ----xxxx on the #! line.
  493.  
  494.           Can't exec
  495.               (W) An _s_y_s_t_e_m(), _e_x_e_c() or piped open call could not
  496.               execute the named program for the indicated reason.
  497.               Typical reasons include: the permissions were wrong on
  498.               the file, the file wasn't found in $ENV{PATH}, the
  499.               executable in question was compiled for another
  500.               architecture, or the #! line in a script points to an
  501.               interpreter that can't be run for similar reasons.  (Or
  502.               maybe your system doesn't support #! at all.)
  503.  
  504.           Can't exec %s
  505.               (F) Perl was trying to execute the indicated program for
  506.               you because that's what the #! line said.  If that's not
  507.               what you wanted, you may need to mention "perl" on the
  508.               #! line somewhere.
  509.  
  510.           Can't execute %s
  511.               (F) You used the ----SSSS switch, but the script to execute
  512.               could not be found in the PATH, or at least not with the
  513.               correct permissions.
  514.  
  515.           Can't find label %s
  516.               (F) You said to goto a label that isn't mentioned
  517.               anywhere that it's possible for us to go to.  See the
  518.               goto entry in the _p_e_r_l_f_u_n_c manpage.
  519.  
  520.           Can't find string terminator %s anywhere before EOF
  521.               (F) Perl strings can stretch over multiple lines.  This
  522.  
  523.  
  524.  
  525.      Page 8                                          (printed 6/30/95)
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  533.  
  534.  
  535.  
  536.               message means that the closing delimiter was omitted.
  537.               Since bracketed quotes count nesting levels, the
  538.               following is missing its final parenthesis:
  539.  
  540.                   print q(The character '(' starts a side comment.)
  541.  
  542.  
  543.           Can't fork
  544.               (F) A fatal error occurred while trying to fork while
  545.               opening a pipeline.
  546.  
  547.           Can't get pipe mailbox device name
  548.               (F) An error peculiar to VMS.
  549.  
  550.           Can't get SYSGEN parameter value for MAXBUF
  551.               (F) An error peculiar to VMS.
  552.  
  553.           Can't goto subroutine outside a subroutine
  554.               (F) The deeply magical "goto subroutine" call can only
  555.               replace one subroutine call for another.  It can't
  556.               manufacture one out of whole cloth.  In general you
  557.               should only be calling it out of an AUTOLOAD routine
  558.               anyway.  See the goto entry in the _p_e_r_l_f_u_n_c manpage.
  559.  
  560.           Can't locate %s in @INC
  561.               (F) You said to do (or require, or use) a file that
  562.               couldn't be found in any of the libraries mentioned in
  563.               @INC.  Perhaps you need to set the PERL5LIB environment
  564.               variable to say where the extra library is, or maybe the
  565.               script needs to add the library name to @INC.  Or maybe
  566.               you just misspelled the name of the file.  See the
  567.               require entry in the _p_e_r_l_f_u_n_c manpage.
  568.  
  569.           Can't locate object method
  570.               (F) You called a method correctly, and it correctly
  571.               indicated a package functioning as a class, but that
  572.               package doesn't define that particular method, nor does
  573.               any of it's base classes.  See the _p_e_r_l_o_b_j manpage.
  574.  
  575.           Can't locate package %s for @%s::ISA
  576.               (W) The @ISA array contained the name of another package
  577.               that doesn't seem to exist.
  578.  
  579.           Can't mktemp()
  580.               (F) The _m_k_t_e_m_p() routine failed for some reason while
  581.               trying to process a ----eeee switch.  Maybe your /tmp
  582.               partition is full, or clobbered.
  583.  
  584.           Can't modify %s in %s
  585.               (F) You aren't allowed to assign to the item indicated,
  586.               or otherwise try to change it, such as with an
  587.               autoincrement.
  588.  
  589.  
  590.  
  591.      Page 9                                          (printed 6/30/95)
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  599.  
  600.  
  601.  
  602.           Can't modify non-existent substring
  603.               (P) The internal routine that does assignment to a
  604.               _s_u_b_s_t_r() was handed a NULL.
  605.  
  606.           Can't msgrcv to readonly var
  607.               (F) The target of a msgrcv must be modifiable in order
  608.               to be used as a receive buffer.
  609.  
  610.           Can't open %s: %s
  611.               (S) An inplace edit couldn't open the original file for
  612.               the indicated reason.  Usually this is because you don't
  613.               have read permission for the file.
  614.  
  615.           Can't open bidirectional pipe
  616.               (W) You tried to say open(CMD, "|cmd|"), which is not
  617.               supported.  You can try any of several modules in the
  618.               Perl library to do this, such as "open2.pl".
  619.               Alternately, direct the pipe's output to a file using
  620.               ">", and then read it in under a different file handle.
  621.  
  622.           Can't open perl script
  623.               (F) The script you specified can't be opened for the
  624.               indicated reason.
  625.  
  626.           Can't rename %s to %s: %s, skipping file
  627.               (S) The rename done by the ----iiii switch failed for some
  628.               reason, probably because you don't have write permission
  629.               to the directory.
  630.  
  631.           Can't reswap uid and euid
  632.               (P) The _s_e_t_r_e_u_i_d() call failed for some reason in the
  633.               setuid emulator of suidperl.
  634.  
  635.           Can't return outside a subroutine
  636.               (F) The return statement was executed in mainline code,
  637.               that is, where there was no subroutine call to return
  638.               out of.  See the _p_e_r_l_s_u_b manpage.
  639.  
  640.           Can't stat script
  641.               (P) For some reason you can't _f_s_t_a_t() the script even
  642.               though you have it open already.  Bizarre.
  643.  
  644.           Can't swap uid and euid
  645.               (P) The _s_e_t_r_e_u_i_d() call failed for some reason in the
  646.               setuid emulator of suidperl.
  647.  
  648.           Can't take log of %g
  649.               (F) Logarithms are only defined on positive real
  650.               numbers.
  651.  
  652.           Can't take sqrt of %g
  653.               (F) For ordinary real numbers, you can't take the square
  654.  
  655.  
  656.  
  657.      Page 10                                         (printed 6/30/95)
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  665.  
  666.  
  667.  
  668.               root of a negative number.  There's a Complex package
  669.               available for Perl, though, if you really want to do
  670.               that.
  671.  
  672.           Can't undef active subroutine
  673.               (F) You can't undefine a routine that's currently
  674.               running.  You can, however, redefine it while it's
  675.               running, and you can even undef the redefined subroutine
  676.               while the old routine is running.  Go figure.
  677.  
  678.           Can't unshift
  679.               (F) You tried to unshift an "unreal" array that can't be
  680.               unshifted, such as the main Perl stack.
  681.  
  682.           Can't upgrade that kind of scalar
  683.               (P) The internal sv_upgrade routine adds "members" to an
  684.               SV, making it into a more specialized kind of SV.  The
  685.               top several SV types are so specialized, however, that
  686.               they cannot be interconverted.  This message indicates
  687.               that such a conversion was attempted.
  688.  
  689.           Can't upgrade to undef
  690.               (P) The undefined SV is the bottom of the totem pole, in
  691.               the scheme of upgradability.  Upgrading to undef
  692.               indicates an error in the code calling sv_upgrade.
  693.  
  694.           Can't use %s as left arg of an implicit ->
  695.               (F) The compiler tried to interpret a bracketed
  696.               expression as a subscript to an array reference.  But to
  697.               the left of the brackets was an expression that didn't
  698.               end in an arrow (->), or look like a subscripted
  699.               expression.  Only subscripted expressions with multiple
  700.               subscripts are allowed to omit the intervening arrow.
  701.  
  702.           Can't use %s for loop variable
  703.               (F) Only a simple scalar variable may be used as a loop
  704.               variable on a foreach.
  705.  
  706.           Can't use %s ref as %s ref
  707.               (F) You've mixed up your reference types.  You have to
  708.               dereference a reference of the type needed.  You can use
  709.               the _r_e_f() function to test the type of the reference, if
  710.               need be.
  711.  
  712.           Can't use a string as %s ref while
  713.               (F) Only hard references are allowed by "strict refs".
  714.               Symbolic references are disallowed.  See the _p_e_r_l_r_e_f
  715.               manpage.
  716.  
  717.           Can't use an undefined value as %s reference
  718.               (F) A value used as either a hard reference or a
  719.               symbolic reference must be a defined value.  This helps
  720.  
  721.  
  722.  
  723.      Page 11                                         (printed 6/30/95)
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  731.  
  732.  
  733.  
  734.               to de-lurk some insidious errors.
  735.  
  736.           Can't use delimiter brackets within expression
  737.               (F) The ${name} construct is for disambiguating
  738.               identifiers in strings, not in ordinary code.
  739.  
  740.           Can't use global %s in
  741.               (F) You tried to declare a magical variable as a lexical
  742.               variable.  This is not allowed, because the magic can
  743.               only be tied to one location (namely the global
  744.               variable) and it would be incredibly confusing to have
  745.               variables in your program that looked like magical
  746.               variables but weren't.
  747.  
  748.           Can't write to temp file for ----eeee: %s
  749.               (F) The write routine failed for some reason while
  750.               trying to process a ----eeee switch.  Maybe your /tmp
  751.               partition is full, or clobbered.
  752.  
  753.           Can't x= to readonly value
  754.               (F) You tried to repeat a constant value (often the
  755.               undefined value) with an assignment operator, which
  756.               implies modifying the value itself.  Perhaps you need to
  757.               copy the value to a temporary, and repeat that.
  758.  
  759.           Cannot open temporary file
  760.               (F) The create routine failed for some reaon while
  761.               trying to process a ----eeee switch.  Maybe your /tmp
  762.               partition is full, or clobbered.
  763.  
  764.           chmod: mode argument is missing initial 0
  765.               (W) A novice will sometimes say
  766.  
  767.                   chmod 777, $filename
  768.  
  769.               not realizing that 777 will be interpreted as a decimal
  770.               number, equivalent to 01411.  Octal constants are
  771.               introduced with a leading 0 in Perl, as in C.
  772.  
  773.           Close on unopened file <%s>
  774.               (W) You tried to close a filehandle that was never
  775.               opened.
  776.  
  777.           connect() on closed fd
  778.               (W) You tried to do a connect on a closed socket.  Did
  779.               you forget to check the return value of your _s_o_c_k_e_t()
  780.               call?  See the connect entry in the _p_e_r_l_f_u_n_c manpage.
  781.  
  782.           Corrupt malloc ptr 0x%lx at 0x%lx
  783.               (P) The malloc package that comes with Perl had an
  784.               internal failure.
  785.  
  786.  
  787.  
  788.  
  789.      Page 12                                         (printed 6/30/95)
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  797.  
  798.  
  799.  
  800.           corrupted regexp pointers
  801.               (P) The regular expression engine got confused by what
  802.               the regular expression compiler gave it.
  803.  
  804.           corrupted regexp program
  805.               (P) The regular expression engine got passed a regexp
  806.               program without a valid magic number.
  807.  
  808.           Deep recursion on subroutine
  809.               (W) This subroutine has called itself (directly or
  810.               indirectly) 100 times than it has returned.  This
  811.               probably indicates an infinite recursion, unless you're
  812.               writing strange benchmark programs, in which case it
  813.               indicates something else.
  814.  
  815.           Did you mean $ instead of %?
  816.               (W) You probably said %hash{$key} when you meant
  817.               $hash{$key}.
  818.  
  819.           Don't know how to handle magic of type '%s'
  820.               (P) The internal handling of magical variables has been
  821.               cursed.
  822.  
  823.           do_study: out of memory
  824.               (P) This should have been caught by _s_a_f_e_m_a_l_l_o_c()
  825.               instead.
  826.  
  827.           Duplicate free() ignored
  828.               (S) An internal routine called _f_r_e_e() on something that
  829.               had already been freed.
  830.  
  831.           END failed--cleanup aborted
  832.               (F) An untrapped exception was raised while executing an
  833.               END subroutine.  The interpreter is immediately exited.
  834.  
  835.           Execution of %s aborted due to compilation errors.
  836.               (F) The final summary message when a Perl compilation
  837.               fails.
  838.  
  839.           Exiting eval via %s
  840.               (W) You are exiting an eval by unconventional means,
  841.               such as a a goto, or a loop control statement.
  842.  
  843.           Exiting subroutine via %s
  844.               (W) You are exiting a subroutine by unconventional
  845.               means, such as a a goto, or a loop control statement.
  846.  
  847.           Exiting substitution via %s
  848.               (W) You are exiting a substitution by unconventional
  849.               means, such as a a return, a goto, or a loop control
  850.               statement.
  851.  
  852.  
  853.  
  854.  
  855.      Page 13                                         (printed 6/30/95)
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  863.  
  864.  
  865.  
  866.           Fatal $PUTMSG error: %d
  867.               (F) An error peculiar to VMS.
  868.  
  869.           fcntl is not implemented
  870.               (F) Your machine apparently doesn't implement _f_c_n_t_l().
  871.               What is this, a PDP-11 or something?
  872.  
  873.           Filehandle %s never opened
  874.               (W) An I/O operation was attempted on a filehandle that
  875.               was never initialized.  You need to do an _o_p_e_n() or a
  876.               _s_o_c_k_e_t() call, or call a constructor from the FileHandle
  877.               package.
  878.  
  879.           Filehandle %s opened only for input
  880.               (W) You tried to write on a read-only filehandle.  If
  881.               you intended it to be a read-write filehandle, you
  882.               needed to open it with "+<" or "+>" or "+>>" instead of
  883.               with "<" or nothing.  If you only intended to write the
  884.               file, use ">" or ">>".  See the open entry in the
  885.               _p_e_r_l_f_u_n_c manpage.
  886.  
  887.           Filehandle only opened for input
  888.               (W) You tried to write on a read-only filehandle.  If
  889.               you intended it to be a read-write filehandle, you
  890.               needed to open it with "+<" or "+>" or "+>>" instead of
  891.               with "<" or nothing.  If you only intended to write the
  892.               file, use ">" or ">>".  See the open entry in the
  893.               _p_e_r_l_f_u_n_c manpage.
  894.  
  895.           Final $ should be \$ or $name
  896.               (F) You must now decide whether the final $ in a string
  897.               was meant to be a literal dollar sign, or was meant to
  898.               introduce a variable name that happens to be missing.
  899.               So you have to put either the backslash or the name.
  900.  
  901.           Final @ should be \@ or @name
  902.               (F) You must now decide whether the final @ in a string
  903.               was meant to be a literal "at" sign, or was meant to
  904.               introduce a variable name that happens to be missing.
  905.               So you have to put either the backslash or the name.
  906.  
  907.           Format %s redefined
  908.               (W) You redefined a format.  To suppress this warning,
  909.               say
  910.  
  911.                   {
  912.                       local $^W = 0;
  913.                       eval "format NAME =...";
  914.                   }
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.      Page 14                                         (printed 6/30/95)
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  929.  
  930.  
  931.  
  932.           Format not terminated
  933.               (F) A format must be terminated by a line with a
  934.               solitary dot.  Perl got to the end of your file without
  935.               finding such a line.
  936.  
  937.           Found = in conditional, should be ==
  938.               (W) You said
  939.  
  940.                   if ($foo = 123)
  941.  
  942.               when you meant
  943.  
  944.                   if ($foo == 123)
  945.  
  946.               (or something like that).
  947.  
  948.           gdbm store returned %d, errno %d, key
  949.               (S) A warning from the GDBM_File extension that a store
  950.               failed.
  951.  
  952.           gethostent not implemented
  953.               (F) Your C library apparently doesn't implement
  954.               _g_e_t_h_o_s_t_e_n_t(), probably because if it did, it'd feel
  955.               morally obligated to return every hostname on the
  956.               Internet.
  957.  
  958.           get{sock,peer}name() on closed fd
  959.               (W) You tried to get a socket or peer socket name on a
  960.               closed socket.  Did you forget to check the return value
  961.               of your _s_o_c_k_e_t() call?
  962.  
  963.           Glob not terminated
  964.               (F) The lexer saw a left angle bracket in a place where
  965.               it was expecting a term, so it's looking for the
  966.               corresponding right angle bracket, and not finding it.
  967.               Chances are you left some needed parentheses out earlier
  968.               in the line, and you really meant a "less than".
  969.  
  970.           Global symbol
  971.               (F) You've said "use strict vars", which indicates that
  972.               all variables must either be lexically scoped (using
  973.               "my"), or explicitly qualified to say which package the
  974.               global variable is in (using "::").
  975.  
  976.           goto must have label
  977.               (F) Unlike with "next" or "last", you're not allowed to
  978.               goto an unspecified destination.  See the goto entry in
  979.               the _p_e_r_l_f_u_n_c manpage.
  980.  
  981.           Had to create %s unexpectedly
  982.               (S) A routine asked for a symbol from a symbol table
  983.               that ought to have existed already, but for some reason
  984.  
  985.  
  986.  
  987.      Page 15                                         (printed 6/30/95)
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  995.  
  996.  
  997.  
  998.               it didn't, and had to be created on an emergency basis
  999.               to prevent a core dump.
  1000.  
  1001.           Hash %%s missing the % in argument %d of %s()
  1002.               (D) Really old Perl let you omit the % on hash names in
  1003.               some spots.  This is now heavily deprecated.
  1004.  
  1005.           Identifier
  1006.               (W) Typographical errors often show up as unique
  1007.               identifiers.  If you had a good reason for having a
  1008.               unique identifier, then just mention it again somehow to
  1009.               suppress the message.
  1010.  
  1011.           Illegal division by zero
  1012.               (F) You tried to divide a number by 0.  Either something
  1013.               was wrong in your logic, or you need to put a
  1014.               conditional in to guard against meaningless input.
  1015.  
  1016.           Illegal modulus zero
  1017.               (F) You tried to divide a number by 0 to get the
  1018.               remainder.  Most numbers don't take to this kindly.
  1019.  
  1020.           Illegal octal digit
  1021.               (F) You used an 8 or 9 in a octal number.
  1022.  
  1023.           Insecure dependency in %s
  1024.               (F) You tried to do something that the tainting
  1025.               mechanism didn't like. The tainting mechanism is turned
  1026.               on when you're running setuid or setgid, or when you
  1027.               specify ----TTTT to turn it on explicitly.  The tainting
  1028.               mechanism labels all data that's derived directly or
  1029.               indirectly from the user, who is considered to be
  1030.               unworthy of your trust.  If any such data is used in a
  1031.               "dangerous" operation, you get this error.  See the
  1032.               _p_e_r_l_s_e_c manpage for more information.
  1033.  
  1034.           Insecure directory in %s
  1035.               (F) You can't use _s_y_s_t_e_m(), _e_x_e_c(), or a piped open in a
  1036.               setuid or setgid script if $ENV{PATH} contains a
  1037.               directory that is writable by the world.  See the
  1038.               _p_e_r_l_s_e_c manpage.
  1039.  
  1040.           Insecure PATH
  1041.               (F) You can't use _s_y_s_t_e_m(), _e_x_e_c(), or a piped open in a
  1042.               setuid or setgid script if $ENV{PATH} is derived from
  1043.               data supplied (or potentially supplied) by the user.
  1044.               The script must set the path to a known value, using
  1045.               trustworthy data.  See the _p_e_r_l_s_e_c manpage.
  1046.  
  1047.           internal disaster in regexp
  1048.               (P) Something went badly wrong in the regular expression
  1049.               parser.
  1050.  
  1051.  
  1052.  
  1053.      Page 16                                         (printed 6/30/95)
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1061.  
  1062.  
  1063.  
  1064.           internal urp in regexp at /%s/
  1065.               (P) Something went badly awry in the regular expression
  1066.               parser.
  1067.  
  1068.           invalid [] range in regexp
  1069.               (F) The range specified in a character class had a
  1070.               minimum character greater than the maximum character.
  1071.               See the _p_e_r_l_r_e manpage.
  1072.  
  1073.           ioctl is not implemented
  1074.               (F) Your machine apparently doesn't implement _i_o_c_t_l(),
  1075.               which is pretty strange for a machine that supports C.
  1076.  
  1077.           junk on end of regexp
  1078.               (P) The regular expression parser is confused.
  1079.  
  1080.           Label not found for
  1081.               (F) You named a loop to break out of, but you're not
  1082.               currently in a loop of that name, not even if you count
  1083.               where you were called from.  See the last entry in the
  1084.               _p_e_r_l_f_u_n_c manpage.
  1085.  
  1086.           Label not found for
  1087.               (F) You named a loop to continue, but you're not
  1088.               currently in a loop of that name, not even if you count
  1089.               where you were called from.  See the last entry in the
  1090.               _p_e_r_l_f_u_n_c manpage.
  1091.  
  1092.           Label not found for
  1093.               (F) You named a loop to restart, but you're not
  1094.               currently in a loop of that name, not even if you count
  1095.               where you were called from.  See the last entry in the
  1096.               _p_e_r_l_f_u_n_c manpage.
  1097.  
  1098.           listen() on closed fd
  1099.               (W) You tried to do a listen on a closed socket.  Did
  1100.               you forget to check the return value of your _s_o_c_k_e_t()
  1101.               call?  See the listen entry in the _p_e_r_l_f_u_n_c manpage.
  1102.  
  1103.           Literal @%s now requires backslash
  1104.               (F) It used to be that Perl would try to guess whether
  1105.               you wanted an array interpolated or a literal @.  It did
  1106.               this when the string was first used at runtime.  Now
  1107.               strings are parsed at compile time, and ambiguous
  1108.               instances of @ must be disambiguated, either by putting
  1109.               a backslash to indicate a literal, or by declaring (or
  1110.               using) the array within the program before the string
  1111.               (lexically).  (Someday it will simply assume that an
  1112.               unbackslashed @ interpolates an array.)
  1113.  
  1114.           Method for operation %s not found in package %s during blessing
  1115.               (F) An attempt was made to specify an entry in an
  1116.  
  1117.  
  1118.  
  1119.      Page 17                                         (printed 6/30/95)
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1127.  
  1128.  
  1129.  
  1130.               overloading table that doesn't somehow point to a valid
  1131.               method.  See the _p_e_r_l_o_v_l manpage.
  1132.  
  1133.           Might be a runaway multi-line %s string starting on line %d
  1134.               (S) An advisory indicating that the previous error may
  1135.               have been caused by a missing delimiter on a string or
  1136.               pattern, because it eventually ended earlier on the
  1137.               current line.
  1138.  
  1139.           Misplaced _ in number
  1140.               (W) An underline in a decimal constant wasn't on a 3-
  1141.               digit boundary.
  1142.  
  1143.           Missing $ on loop variable
  1144.               (F) Apparently you've been programming in csh too much.
  1145.               Variables are always mentioned with the $ in Perl,
  1146.               unlike in the shells, where it can vary from one line to
  1147.               the next.
  1148.  
  1149.           Missing comma after first argument to %s function
  1150.               (F) While certain functions allow you to specify a
  1151.               filehandle or an "indirect object" before the argument
  1152.               list, this ain't one of them.
  1153.  
  1154.           Missing right bracket
  1155.               (F) The lexer counted more opening curly brackets
  1156.               (braces) than closing ones.  As a general rule, you'll
  1157.               find it's missing near the place you were last editing.
  1158.  
  1159.           Missing semicolon on previous line?
  1160.               (S) This is an educated guess made in conjunction with
  1161.               the message "%s found where operator expected".  Don't
  1162.               automatically put a semicolon on the previous line just
  1163.               because you saw this message.
  1164.  
  1165.           Modification of a read-only value attempted
  1166.               (F) You tried, directly or indirectly, to change the
  1167.               value of a constant.  You didn't, of course, try "2 =
  1168.               1", since the compiler catches that.  But an easy way to
  1169.               do the same thing is:
  1170.  
  1171.                   sub mod { $_[0] = 1 }
  1172.                   mod(2);
  1173.  
  1174.               Another way is to assign to a _s_u_b_s_t_r() that's off the
  1175.               end of the string.
  1176.  
  1177.           Modification of non-
  1178.               creatable array value attempted, subscript %d
  1179.               (F) You tried to make an array value spring into
  1180.               existence, and the subscript was probably negative, even
  1181.               counting from end of the array backwards.
  1182.  
  1183.  
  1184.  
  1185.      Page 18                                         (printed 6/30/95)
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1193.  
  1194.  
  1195.  
  1196.           Modification of non-
  1197.               creatable hash value attempted, subscript
  1198.               (F) You tried to make a hash value spring into
  1199.               existence, and it couldn't be created for some peculiar
  1200.               reason.
  1201.  
  1202.           Module name must be constant
  1203.               (F) Only a bare module name is allowed as the first
  1204.               argument to a "use".
  1205.  
  1206.           msg%s not implemented
  1207.               (F) You don't have System V message IPC on your system.
  1208.  
  1209.           Multidimensional syntax %s not supported
  1210.               (W) Multidimensional arrays aren't written like
  1211.               $foo[1,2,3].  They're written like $foo[1][2][3], as in
  1212.               C.
  1213.  
  1214.           Negative length
  1215.               (F) You tried to do a read/write/send/recv operation
  1216.               with a buffer length that is less than 0.  This is
  1217.               difficult to imagine.
  1218.  
  1219.           nested *?+ in regexp
  1220.               (F) You can't quantify a quantifier without intervening
  1221.               parens.  So things like ** or +* or ?* are illegal.
  1222.  
  1223.               Note, however, that the minimal matching quantifiers,
  1224.               *?, +? and ?? appear to be nested quantifiers, but
  1225.               aren't.  See the _p_e_r_l_r_e manpage.
  1226.  
  1227.           No #! line
  1228.               (F) The setuid emulator requires that scripts have a
  1229.               well-formed #! line even on machines that don't support
  1230.               the #! construct.
  1231.  
  1232.           No %s allowed while running setuid
  1233.               (F) Certain operations are deemed to be too insecure for
  1234.               a setuid or setgid script to even be allowed to attempt.
  1235.               Generally speaking there will be another way to do what
  1236.               you want that is, if not secure, at least securable.
  1237.               See the _p_e_r_l_s_e_c manpage.
  1238.  
  1239.           No ----eeee allowed in setuid scripts
  1240.               (F) A setuid script can't be specified by the user.
  1241.  
  1242.           No comma allowed after %s
  1243.               (F) A list operator that has a filehandle or "indirect
  1244.               object" is not allowed to have a comma between that and
  1245.               the following arguments.  Otherwise it'd be just another
  1246.               one of the arguments.
  1247.  
  1248.  
  1249.  
  1250.  
  1251.      Page 19                                         (printed 6/30/95)
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1259.  
  1260.  
  1261.  
  1262.           No DB::DB routine defined
  1263.               (F) The currently executing code was compiled with the
  1264.               ----dddd switch, but for some reason the perl5db.pl file (or
  1265.               some facsimile thereof) didn't define a routine to be
  1266.               called at the beginning of each statement.  Which is
  1267.               odd, because the file should have been required
  1268.               automatically, and should have blown up the require if
  1269.               it didn't parse right.
  1270.  
  1271.           No dbm on this machine
  1272.               (P) This is counted as an internal error, because every
  1273.               machine should supply dbm nowadays, since Perl comes
  1274.               with SDBM.  See the _S_D_B_M__F_i_l_e manpage.
  1275.  
  1276.           No DBsub routine
  1277.               (F) The currently executing code was compiled with the
  1278.               ----dddd switch, but for some reason the perl5db.pl file (or
  1279.               some facsimile thereof) didn't define a DB::sub routine
  1280.               to be called at the beginning of each ordinary
  1281.               subroutine call.
  1282.  
  1283.           No Perl script found in input
  1284.               (F) You called perl -x, but no line was found in the
  1285.               file beginning with #! and containing the word "perl".
  1286.  
  1287.           No setregid available
  1288.               (F) Configure didn't find anything resembling the
  1289.               _s_e_t_r_e_g_i_d() call for your system.
  1290.  
  1291.           No setreuid available
  1292.               (F) Configure didn't find anything resembling the
  1293.               _s_e_t_r_e_u_i_d() call for your system.
  1294.  
  1295.           No space allowed after ----IIII
  1296.               (F) The argument to ----IIII must follow the ----IIII immediately
  1297.               with no intervening space.
  1298.  
  1299.           No such signal: SIG%s
  1300.               (W) You specified a signal name as a subscript to %SIG
  1301.               that was not recognized.  Say kill -l in your shell to
  1302.               see the valid signal names on your system.
  1303.  
  1304.           Not a CODE reference
  1305.               (F) Perl was trying to evaluate a reference to a code
  1306.               value (that is, a subroutine), but found a reference to
  1307.               something else instead.  You can use the _r_e_f() function
  1308.               to find out what kind of ref it really was.  See also
  1309.               the _p_e_r_l_r_e_f manpage.
  1310.  
  1311.           Not a format reference
  1312.               (F) I'm not sure how you managed to generate a reference
  1313.               to an anonymous format, but this indicates you did, and
  1314.  
  1315.  
  1316.  
  1317.      Page 20                                         (printed 6/30/95)
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1325.  
  1326.  
  1327.  
  1328.               that it didn't exist.
  1329.  
  1330.           Not a GLOB reference
  1331.               (F) Perl was trying to evaluate a reference to a "type
  1332.               glob" (that is, a symbol table entry that looks like
  1333.               *foo), but found a reference to something else instead.
  1334.               You can use the _r_e_f() function to find out what kind of
  1335.               ref it really was.  See the _p_e_r_l_r_e_f manpage.
  1336.  
  1337.           Not a HASH reference
  1338.               (F) Perl was trying to evaluate a reference to a hash
  1339.               value, but found a reference to something else instead.
  1340.               You can use the _r_e_f() function to find out what kind of
  1341.               ref it really was.  See the _p_e_r_l_r_e_f manpage.
  1342.  
  1343.           Not a perl script
  1344.               (F) The setuid emulator requires that scripts have a
  1345.               well-formed #! line even on machines that don't support
  1346.               the #! construct.  The line must mention perl.
  1347.  
  1348.           Not a SCALAR reference
  1349.               (F) Perl was trying to evaluate a reference to a scalar
  1350.               value, but found a reference to something else instead.
  1351.               You can use the _r_e_f() function to find out what kind of
  1352.               ref it really was.  See the _p_e_r_l_r_e_f manpage.
  1353.  
  1354.           Not a subroutine reference
  1355.               (F) Perl was trying to evaluate a reference to a code
  1356.               value (that is, a subroutine), but found a reference to
  1357.               something else instead.  You can use the _r_e_f() function
  1358.               to find out what kind of ref it really was.  See also
  1359.               the _p_e_r_l_r_e_f manpage.
  1360.  
  1361.           Not a subroutine reference in %OVERLOAD
  1362.               (F) An attempt was made to specify an entry in an
  1363.               overloading table that doesn't somehow point to a valid
  1364.               subroutine.  See the _p_e_r_l_o_v_l manpage.
  1365.  
  1366.           Not an ARRAY reference
  1367.               (F) Perl was trying to evaluate a reference to an array
  1368.               value, but found a reference to something else instead.
  1369.               You can use the _r_e_f() function to find out what kind of
  1370.               ref it really was.  See the _p_e_r_l_r_e_f manpage.
  1371.  
  1372.           Not enough arguments for %s
  1373.               (F) The function requires more arguments than you
  1374.               specified.
  1375.  
  1376.           Not enough format arguments
  1377.               (W) A format specified more picture fields than the next
  1378.               line supplied.  See the _p_e_r_l_f_o_r_m manpage.
  1379.  
  1380.  
  1381.  
  1382.  
  1383.      Page 21                                         (printed 6/30/95)
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1391.  
  1392.  
  1393.  
  1394.           Null filename used
  1395.               (F) You can't require the null filename, especially
  1396.               since on many machines that means the current directory!
  1397.               See the require entry in the _p_e_r_l_f_u_n_c manpage.
  1398.  
  1399.           NULL OP IN RUN
  1400.               (P) Some internal routine called _r_u_n() with a null
  1401.               opcode pointer.
  1402.  
  1403.           Null realloc
  1404.               (P) An attempt was made to realloc NULL.
  1405.  
  1406.           NULL regexp argument
  1407.               (P) The internal pattern matching routines blew it
  1408.               bigtime.
  1409.  
  1410.           NULL regexp parameter
  1411.               (P) The internal pattern matching routines are out of
  1412.               their gourd.
  1413.  
  1414.           Odd number of elements in hash list
  1415.               (S) You specified an odd number of elements to a hash
  1416.               list, which is odd, since hash lists come in key/value
  1417.               pairs.
  1418.  
  1419.           oops: oopsAV
  1420.               (S) An internal warning that the grammar is screwed up.
  1421.  
  1422.           oops: oopsHV
  1423.               (S) An internal warning that the grammar is screwed up.
  1424.  
  1425.           Operation `%s' %s: no method found,
  1426.               (F) An attempt was made to use an entry in an
  1427.               overloading table that somehow no longer points to a
  1428.               valid method.  See the _p_e_r_l_o_v_l manpage.
  1429.  
  1430.           Out of memory for yacc stack
  1431.               (F) The yacc parser wanted to grow its stack so it could
  1432.               continue parsing, but _r_e_a_l_l_o_c() wouldn't give it more
  1433.               memory, virtual or otherwise.
  1434.  
  1435.           Out of memory!
  1436.               (X) The _m_a_l_l_o_c() function returned 0, indicating there
  1437.               was insufficient remaining memory (or virtual memory) to
  1438.               satisfy the request.
  1439.  
  1440.           page overflow
  1441.               (W) A single call to _w_r_i_t_e() produced more lines than
  1442.               can fit on a page.  See the _p_e_r_l_f_o_r_m manpage.
  1443.  
  1444.           panic: ck_grep
  1445.               (P) Failed an internal consistency check trying to
  1446.  
  1447.  
  1448.  
  1449.      Page 22                                         (printed 6/30/95)
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1457.  
  1458.  
  1459.  
  1460.               compile a grep.
  1461.  
  1462.           panic: ck_split
  1463.               (P) Failed an internal consistency check trying to
  1464.               compile a split.
  1465.  
  1466.           panic: corrupt saved stack index
  1467.               (P) The savestack was requested to restore more
  1468.               localized values than there are in the savestack.
  1469.  
  1470.           panic: die %s
  1471.               (P) We popped the context stack to an eval context, and
  1472.               then discovered it wasn't an eval context.
  1473.  
  1474.           panic: do_match
  1475.               (P) The internal _p_p__m_a_t_c_h() routine was called with
  1476.               invalid operational data.
  1477.  
  1478.           panic: do_split
  1479.               (P) Something terrible went wrong in setting up for the
  1480.               split.
  1481.  
  1482.           panic: do_subst
  1483.               (P) The internal _p_p__s_u_b_s_t() routine was called with
  1484.               invalid operational data.
  1485.  
  1486.           panic: do_trans
  1487.               (P) The internal _d_o__t_r_a_n_s() routine was called with
  1488.               invalid operational data.
  1489.  
  1490.           panic: goto
  1491.               (P) We popped the context stack to a context with the
  1492.               specified label, and then discovered it wasn't a context
  1493.               we know how to do a goto in.
  1494.  
  1495.           panic: INTERPCASEMOD
  1496.               (P) The lexer got into a bad state at a case modifier.
  1497.  
  1498.           panic: INTERPCONCAT
  1499.               (P) The lexer got into a bad state parsing a string with
  1500.               brackets.
  1501.  
  1502.           panic: last
  1503.               (P) We popped the context stack to a block context, and
  1504.               then discovered it wasn't a block context.
  1505.  
  1506.           panic: leave_scope clearsv
  1507.               (P) A writable lexical variable became readonly somehow
  1508.               within the scope.
  1509.  
  1510.           panic: leave_scope inconsistency
  1511.               (P) The savestack probably got out of sync.  At least,
  1512.  
  1513.  
  1514.  
  1515.      Page 23                                         (printed 6/30/95)
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1523.  
  1524.  
  1525.  
  1526.               there was an invalid enum on the top of it.
  1527.  
  1528.           panic: malloc
  1529.               (P) Something requested a negative number of bytes of
  1530.               malloc.
  1531.  
  1532.           panic: mapstart
  1533.               (P) The compiler is screwed up with respect to the _m_a_p()
  1534.               function.
  1535.  
  1536.           panic: null array
  1537.               (P) One of the internal array routines was passed a null
  1538.               AV pointer.
  1539.  
  1540.           panic: pad_alloc
  1541.               (P) The compiler got confused about which scratch pad it
  1542.               was allocating and freeing temporaries and lexicals
  1543.               from.
  1544.  
  1545.           panic: pad_free curpad
  1546.               (P) The compiler got confused about which scratch pad it
  1547.               was allocating and freeing temporaries and lexicals
  1548.               from.
  1549.  
  1550.           panic: pad_free po
  1551.               (P) An invalid scratch pad offset was detected
  1552.               internally.
  1553.  
  1554.           panic: pad_reset curpad
  1555.               (P) The compiler got confused about which scratch pad it
  1556.               was allocating and freeing temporaries and lexicals
  1557.               from.
  1558.  
  1559.           panic: pad_sv po
  1560.               (P) An invalid scratch pad offset was detected
  1561.               internally.
  1562.  
  1563.           panic: pad_swipe curpad
  1564.               (P) The compiler got confused about which scratch pad it
  1565.               was allocating and freeing temporaries and lexicals
  1566.               from.
  1567.  
  1568.           panic: pad_swipe po
  1569.               (P) An invalid scratch pad offset was detected
  1570.               internally.
  1571.  
  1572.           panic: pp_iter
  1573.               (P) The foreach iterator got called in a non-loop
  1574.               context frame.
  1575.  
  1576.           panic: realloc
  1577.               (P) Something requested a negative number of bytes of
  1578.  
  1579.  
  1580.  
  1581.      Page 24                                         (printed 6/30/95)
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1589.  
  1590.  
  1591.  
  1592.               realloc.
  1593.  
  1594.           panic: restartop
  1595.               (P) Some internal routine requested a goto (or something
  1596.               like it), and didn't supply the destination.
  1597.  
  1598.           panic: return
  1599.               (P) We popped the context stack to a subroutine or eval
  1600.               context, and then discovered it wasn't a subroutine or
  1601.               eval context.
  1602.  
  1603.           panic: scan_num
  1604.               (P) _s_c_a_n__n_u_m() got called on something that wasn't a
  1605.               number.
  1606.  
  1607.           panic: sv_insert
  1608.               (P) The _s_v__i_n_s_e_r_t() routine was told to remove more
  1609.               string than there was string.
  1610.  
  1611.           panic: top_env
  1612.               (P) The compiler attempted to do a goto, or something
  1613.               weird like that.
  1614.  
  1615.           panic: yylex
  1616.               (P) The lexer got into a bad state while processing a
  1617.               case modifier.
  1618.  
  1619.           Parens missing around
  1620.               (W) You said something like
  1621.  
  1622.                   my $foo, $bar = @_;
  1623.  
  1624.               when you meant
  1625.  
  1626.                   my ($foo, $bar) = @_;
  1627.  
  1628.               Remember that "my" and "local" bind closer than comma.
  1629.  
  1630.           Perl %3.3f required--this is only version %s, stopped
  1631.               (F) The module in question uses features of a version of
  1632.               Perl more recent than the currently running version.
  1633.               How long has it been since you upgraded, anyway?  See
  1634.               the require entry in the _p_e_r_l_f_u_n_c manpage.
  1635.  
  1636.           Permission denied
  1637.               (F) The setuid emulator in suidperl decided you were up
  1638.               to no good.
  1639.  
  1640.           POSIX getpgrp can't take an argument
  1641.               (F) Your C compiler uses POSIX _g_e_t_p_g_r_p(), which takes no
  1642.               argument, unlike the BSD version, which takes a pid.
  1643.  
  1644.  
  1645.  
  1646.  
  1647.      Page 25                                         (printed 6/30/95)
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1655.  
  1656.  
  1657.  
  1658.           Possible memory corruption: %s overflowed 3rd argument
  1659.               (F) An _i_o_c_t_l() or _f_c_n_t_l() returned more than Perl was
  1660.               bargaining for.  Perl guesses a reasonable buffer size,
  1661.               but puts a sentinel byte at the end of the buffer just
  1662.               in case.  This sentinel byte got clobbered, and Perl
  1663.               assumes that memory is now corrupted.  See the ioctl
  1664.               entry in the _p_e_r_l_f_u_n_c manpage.
  1665.  
  1666.           Precedence problem: open %s should be open(%s)
  1667.               (S) The old irregular construct
  1668.  
  1669.                   open FOO || die;
  1670.  
  1671.               is now misinterpreted as
  1672.  
  1673.                   open(FOO || die);
  1674.  
  1675.               because of the strict regularization of Perl 5's grammar
  1676.               into unary and list operators.  (The old open was a
  1677.               little of both.) You must put parens around the
  1678.               filehandle, or use the new "or" operator instead of
  1679.               "||".
  1680.  
  1681.           print on closed filehandle %s
  1682.               (W) The filehandle you're printing on got itself closed
  1683.               sometime before now.  Check your logic flow.
  1684.  
  1685.           printf on closed filehandle %s
  1686.               (W) The filehandle you're writing to got itself closed
  1687.               sometime before now.  Check your logic flow.
  1688.  
  1689.           Probable precedence problem on %s
  1690.               (W) The compiler found a bare word where it expected a
  1691.               conditional, which often indicates that an || or && was
  1692.               parsed as part of the last argument of the previous
  1693.               construct, for example:
  1694.  
  1695.                   open FOO || die;
  1696.  
  1697.  
  1698.           Read on closed filehandle <%s>
  1699.               (W) The filehandle you're reading from got itself closed
  1700.               sometime before now.  Check your logic flow.
  1701.  
  1702.           Reallocation too large: %lx
  1703.               (F) You can't allocate more than 64K on an MSDOS
  1704.               machine.
  1705.  
  1706.           Recompile perl with ----DDDDDEBUGGING to use ----DDDD switch
  1707.               (F) You can't use the ----DDDD option unless the code to
  1708.               produce the desired output is compiled into Perl, which
  1709.               entails some overhead, which is why it's currently left
  1710.  
  1711.  
  1712.  
  1713.      Page 26                                         (printed 6/30/95)
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1721.  
  1722.  
  1723.  
  1724.               out of your copy.
  1725.  
  1726.           Recursive inheritance detected
  1727.               (F) More than 100 levels of inheritance were used.
  1728.               Probably indicates an unintended loop in your
  1729.               inheritance hierarchy.
  1730.  
  1731.           Reference miscount in sv_replace()
  1732.               (W) The internal _s_v__r_e_p_l_a_c_e() function was handed a new
  1733.               SV with a reference count of other than 1.
  1734.  
  1735.           regexp memory corruption
  1736.               (P) The regular expression engine got confused by what
  1737.               the regular expression compiler gave it.
  1738.  
  1739.           regexp out of space
  1740.               (P) A "can't happen" error, because _s_a_f_e_m_a_l_l_o_c() should
  1741.               have caught it earlier.
  1742.  
  1743.           regexp too big
  1744.               (F) The current implementation of regular expression
  1745.               uses shorts as address offsets within a string.
  1746.               Unfortunately this means that if the regular expression
  1747.               compiles to longer than 32767, it'll blow up.  Usually
  1748.               when you want a regular expression this big, there is a
  1749.               better way to do it with multiple statements.  See the
  1750.               _p_e_r_l_r_e manpage.
  1751.  
  1752.           Reversed %s= operator
  1753.               (W) You wrote your assignment operator backwards.  The =
  1754.               must always comes last, to avoid ambiguity with
  1755.               subsequent unary operators.
  1756.  
  1757.           Runaway format
  1758.               (F) Your format contained the ~~ repeat-until-blank
  1759.               sequence, but it produced 200 lines at once, and the
  1760.               200th line looked exactly like the 199th line.
  1761.               Apparently you didn't arrange for the arguments to
  1762.               exhaust themselves, either by using ^ instead of @ (for
  1763.               scalar variables), or by shifting or popping (for array
  1764.               variables).  See the _p_e_r_l_f_o_r_m manpage.
  1765.  
  1766.           Scalar value @%s[%s] better written as $%s[%s]
  1767.               (W) You've used an array slice (indicated by @) to
  1768.               select a single value of an array.  Generally it's
  1769.               better to ask for a scalar value (indicated by $).  The
  1770.               difference is that $foo[&bar] always behaves like a
  1771.               scalar, both when assigning to it and when evaluating
  1772.               its argument, while @foo[&bar] behaves like a list when
  1773.               you assign to it, and provides a list context to its
  1774.               subscript, which can do weird things if you're only
  1775.               expecting one subscript.
  1776.  
  1777.  
  1778.  
  1779.      Page 27                                         (printed 6/30/95)
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1787.  
  1788.  
  1789.  
  1790.           Script is not setuid/setgid in suidperl
  1791.               (F) Oddly, the suidperl program was invoked on a script
  1792.               with its setuid or setgid bit set.  This doesn't make
  1793.               much sense.
  1794.  
  1795.           Search pattern not terminated
  1796.               (F) The lexer couldn't find the final delimiter of a //
  1797.               or m{} construct.  Remember that bracketing delimiters
  1798.               count nesting level.
  1799.  
  1800.           seek() on unopened file
  1801.               (W) You tried to use the _s_e_e_k() function on a filehandle
  1802.               that was either never opened or has been closed since.
  1803.  
  1804.           select not implemented
  1805.               (F) This machine doesn't implement the _s_e_l_e_c_t() system
  1806.               call.
  1807.  
  1808.           sem%s not implemented
  1809.               (F) You don't have System V semaphore IPC on your
  1810.               system.
  1811.  
  1812.           semi-panic: attempt to dup freed string
  1813.               (S) The internal _n_e_w_S_V_s_v() routine was called to
  1814.               duplicate a scalar that had previously been marked as
  1815.               free.
  1816.  
  1817.           Semicolon seems to be missing
  1818.               (W) A nearby syntax error was probably caused by a
  1819.               missing semicolon, or possibly some other missing
  1820.               operator, such as a comma.
  1821.  
  1822.           Send on closed socket
  1823.               (W) The filehandle you're sending to got itself closed
  1824.               sometime before now.  Check your logic flow.
  1825.  
  1826.           Sequence (?#... not terminated
  1827.               (F) A regular expression comment must be terminated by a
  1828.               closing parenthesis.  Embedded parens aren't allowed.
  1829.               See the _p_e_r_l_r_e manpage.
  1830.  
  1831.           Sequence (?%s...) not implemented
  1832.               (F) A proposed regular expression extension has the
  1833.               character reserved but has not yet been written.  See
  1834.               the _p_e_r_l_r_e manpage.
  1835.  
  1836.           Sequence (?%s...) not recognized
  1837.               (F) You used a regular expression extension that doesn't
  1838.               make sense.  See the _p_e_r_l_r_e manpage.
  1839.  
  1840.           setegid() not implemented
  1841.               (F) You tried to assign to $), and your operating system
  1842.  
  1843.  
  1844.  
  1845.      Page 28                                         (printed 6/30/95)
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1853.  
  1854.  
  1855.  
  1856.               doesn't support the _s_e_t_e_g_i_d() system call (or
  1857.               equivalent), or at least Configure didn't think so.
  1858.  
  1859.           seteuid() not implemented
  1860.               (F) You tried to assign to $>, and your operating system
  1861.               doesn't support the _s_e_t_e_u_i_d() system call (or
  1862.               equivalent), or at least Configure didn't think so.
  1863.  
  1864.           setrgid() not implemented
  1865.               (F) You tried to assign to $(, and your operating system
  1866.               doesn't support the _s_e_t_r_g_i_d() system call (or
  1867.               equivalent), or at least Configure didn't think so.
  1868.  
  1869.           setruid() not implemented
  1870.               (F) You tried to assign to $<, and your operating system
  1871.               doesn't support the _s_e_t_r_u_i_d() system call (or
  1872.               equivalent), or at least Configure didn't think so.
  1873.  
  1874.           Setuid/gid script is writable by world
  1875.               (F) The setuid emulator won't run a script that is
  1876.               writable by the world, because the world might have
  1877.               written on it already.
  1878.  
  1879.           shm%s not implemented
  1880.               (F) You don't have System V shared memory IPC on your
  1881.               system.
  1882.  
  1883.           shutdown() on closed fd
  1884.               (W) You tried to do a shutdown on a closed socket.
  1885.               Seems a bit superfluous.
  1886.  
  1887.           SIG%s handler
  1888.               (W) The signal handler named in %SIG doesn't, in fact,
  1889.               exist.  Perhaps you put it into the wrong package?
  1890.  
  1891.           sort is now a reserved word
  1892.               (F) An ancient error message that almost nobody ever
  1893.               runs into anymore.  But before sort was a keyword,
  1894.               people sometimes used it as a filehandle.
  1895.  
  1896.           Sort subroutine didn't return a numeric value
  1897.               (F) A sort comparison routine must return a number.  You
  1898.               probably blew it by not using C<<=> or cmp, or by not
  1899.               using them correctly.  See the sort entry in the
  1900.               _p_e_r_l_f_u_n_c manpage.
  1901.  
  1902.           Sort subroutine didn't return single value
  1903.               (F) A sort comparison subroutine may not return a list
  1904.               value with more or less than one element.  See the sort
  1905.               entry in the _p_e_r_l_f_u_n_c manpage.
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.      Page 29                                         (printed 6/30/95)
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1919.  
  1920.  
  1921.  
  1922.           Split loop
  1923.               (P) The split was looping infinitely.  (Obviously, a
  1924.               split shouldn't iterate more times than there are
  1925.               characters of input, which is what happened.) See the
  1926.               split entry in the _p_e_r_l_f_u_n_c manpage.
  1927.  
  1928.           Stat on unopened file <%s>
  1929.               (W) You tried to use the _s_t_a_t() function (or an
  1930.               equivalent file test) on a filehandle that was either
  1931.               never opened or has been closed since.
  1932.  
  1933.           Statement unlikely to be reached
  1934.               (W) You did an _e_x_e_c() with some statement after it other
  1935.               than a _d_i_e().  This is almost always an error, because
  1936.               _e_x_e_c() never returns unless there was a failure.  You
  1937.               probably wanted to use _s_y_s_t_e_m() instead, which does
  1938.               return.  To suppress this warning, put the _e_x_e_c() in a
  1939.               block by itself.
  1940.  
  1941.           Subroutine %s redefined
  1942.               (W) You redefined a subroutine.  To suppress this
  1943.               warning, say
  1944.  
  1945.                   {
  1946.                       local $^W = 0;
  1947.                       eval "sub name { ... }";
  1948.                   }
  1949.  
  1950.  
  1951.           Substitution loop
  1952.               (P) The substitution was looping infinitely.
  1953.               (Obviously, a substitution shouldn't iterate more times
  1954.               than there are characters of input, which is what
  1955.               happened.) See the discussion of substitution in the
  1956.               section on _Q_u_o_t_e _a_n_d _Q_u_o_t_e_l_i_k_e _O_p_e_r_a_t_o_r_s in the _p_e_r_l_o_p
  1957.               manpage.
  1958.  
  1959.           Substitution pattern not terminated
  1960.               (F) The lexer couldn't find the interior delimiter of a
  1961.               s/// or s{}{} construct.  Remember that bracketing
  1962.               delimiters count nesting level.
  1963.  
  1964.           Substitution replacement not terminated
  1965.               (F) The lexer couldn't find the final delimiter of a
  1966.               s/// or s{}{} construct.  Remember that bracketing
  1967.               delimiters count nesting level.
  1968.  
  1969.           substr outside of string
  1970.               (W) You tried to reference a _s_u_b_s_t_r() that pointed
  1971.               outside of a string.  That is, the absolute value of the
  1972.               offset was larger than the length of the string.  See
  1973.               the substr entry in the _p_e_r_l_f_u_n_c manpage.
  1974.  
  1975.  
  1976.  
  1977.      Page 30                                         (printed 6/30/95)
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  1985.  
  1986.  
  1987.  
  1988.           suidperl is no longer needed since...
  1989.               (F) Your Perl was compiled with
  1990.               ----DDDDSETUID_SCRIPTS_ARE_SECURE_NOW, but a version of the
  1991.               setuid emulator somehow got run anyway.
  1992.  
  1993.           syntax error
  1994.               (F) Probably means you had a syntax error.  Common
  1995.               reasons include:
  1996.  
  1997.                   A keyword is misspelled.
  1998.                   A semicolon is missing.
  1999.                   A comma is missing.
  2000.                   An opening or closing parenthesis is missing.
  2001.                   An opening or closing brace is missing.
  2002.                   A closing quote is missing.
  2003.  
  2004.               Often there will be another error message associated
  2005.               with the syntax error giving more information.
  2006.               (Sometimes it helps to turn on ----wwww.) The error message
  2007.               itself often tells you where it was in the line when it
  2008.               decided to give up.  Sometimes the actual error is
  2009.               several tokens before this, since Perl is good at
  2010.               understanding random input.  Occasionally the line
  2011.               number may be misleading, and once in a blue moon the
  2012.               only way to figure out what's triggering the error is to
  2013.               call perl -c repeatedly, chopping away half the program
  2014.               each time to see if the error went away.  Sort of the
  2015.               cybernetic version of 20 questions.
  2016.  
  2017.           System V IPC is not implemented on this machine
  2018.               (F) You tried to do something with a function beginning
  2019.               with "sem", "shm" or "msg".  See the semctl entry in the
  2020.               _p_e_r_l_f_u_n_c manpage, for example.
  2021.  
  2022.           Syswrite on closed filehandle
  2023.               (W) The filehandle you're writing to got itself closed
  2024.               sometime before now.  Check your logic flow.
  2025.  
  2026.           tell() on unopened file
  2027.               (W) You tried to use the _t_e_l_l() function on a filehandle
  2028.               that was either never opened or has been closed since.
  2029.  
  2030.           Test on unopened file <%s>
  2031.               (W) You tried to invoke a file test operator on a
  2032.               filehandle that isn't open.  Check your logic.  See also
  2033.               the section on -_X in the _p_e_r_l_f_u_n_c manpage.
  2034.  
  2035.           That use of $[ is unsupported
  2036.               (F) Assignment to $[ is now strictly circumscribed, and
  2037.               interpreted as a compiler directive.  You may only say
  2038.               one of
  2039.  
  2040.  
  2041.  
  2042.  
  2043.      Page 31                                         (printed 6/30/95)
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  2051.  
  2052.  
  2053.  
  2054.                   $[ = 0;
  2055.                   $[ = 1;
  2056.                   ...
  2057.                   local $[ = 0;
  2058.                   local $[ = 1;
  2059.                   ...
  2060.  
  2061.               This is to prevent the problem of one module changing
  2062.               the array base out from under another module
  2063.               inadvertently.  See the section on $[ in the _p_e_r_l_v_a_r
  2064.               manpage.
  2065.  
  2066.           The %s function is unimplemented
  2067.               The function indicated isn't implemented on this
  2068.               architecture, according to the probings of Configure.
  2069.  
  2070.           The crypt() function is unimplemented due to excessive paranoia.
  2071.               (F) Configure couldn't find the _c_r_y_p_t() function on your
  2072.               machine, probably because your vendor didn't supply it,
  2073.               probably because they think the U.S. Govermnment thinks
  2074.               it's a secret, or at least that they will continue to
  2075.               pretend that it is.  And if you quote me on that, I will
  2076.               deny it.
  2077.  
  2078.           The stat preceding -l _ wasn't an lstat
  2079.               (F) It makes no sense to test the current stat buffer
  2080.               for symbolic linkhood if the last stat that wrote to the
  2081.               stat buffer already went past the symlink to get to the
  2082.               real file.  Use an actual filename instead.
  2083.  
  2084.           times not implemented
  2085.               (F) Your version of the C library apparently doesn't do
  2086.               _t_i_m_e_s().  I suspect you're not running on Unix.
  2087.  
  2088.           Too few args to syscall
  2089.               (F) There has to be at least one argument to _s_y_s_c_a_l_l()
  2090.               to specify the system call to call, silly dilly.
  2091.  
  2092.           Too many args to syscall
  2093.               (F) Perl only supports a maximum of 14 args to
  2094.               _s_y_s_c_a_l_l().
  2095.  
  2096.           Too many arguments for %s
  2097.               (F) The function requires fewer arguments than you
  2098.               specified.
  2099.  
  2100.           trailing \ in regexp
  2101.               (F) The regular expression ends with an unbackslashed
  2102.               backslash.  Backslash it.   See the _p_e_r_l_r_e manpage.
  2103.  
  2104.           Translation pattern not terminated
  2105.               (F) The lexer couldn't find the interior delimiter of a
  2106.  
  2107.  
  2108.  
  2109.      Page 32                                         (printed 6/30/95)
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  2117.  
  2118.  
  2119.  
  2120.               tr/// or tr[][] construct.
  2121.  
  2122.           Translation replacement not terminated
  2123.               (F) The lexer couldn't find the final delimiter of a
  2124.               tr/// or tr[][] construct.
  2125.  
  2126.           truncate not implemented
  2127.               (F) Your machine doesn't implement a file truncation
  2128.               mechanism that Configure knows about.
  2129.  
  2130.           Type of arg %d to %s must be %s (not %s)
  2131.               (F) This function requires the argument in that position
  2132.               to be of a certain type.  Arrays must be @NAME or
  2133.               @{EXPR}.  Hashes must be %NAME or %{EXPR}.  No implicit
  2134.               dereferencing is allowed--use the {EXPR} forms as an
  2135.               explicit dereference.  See the _p_e_r_l_r_e_f manpage.
  2136.  
  2137.           umask: argument is missing initial 0
  2138.               (W) A umask of 222 is incorrect.  It should be 0222,
  2139.               since octal literals always start with 0 in Perl, as in
  2140.               C.
  2141.  
  2142.           Unbalanced context: %d more PUSHes than POPs
  2143.               (W) The exit code detected an internal inconsistency in
  2144.               how many execution contexts were entered and left.
  2145.  
  2146.           Unbalanced saves: %d more saves than restores
  2147.               (W) The exit code detected an internal inconsistency in
  2148.               how many values were temporarily localized.
  2149.  
  2150.           Unbalanced scopes: %d more ENTERs than LEAVEs
  2151.               (W) The exit code detected an internal inconsistency in
  2152.               how many blocks were entered and left.
  2153.  
  2154.           Unbalanced tmps: %d more allocs than frees
  2155.               (W) The exit code detected an internal inconsistency in
  2156.               how many mortal scalars were allocated and freed.
  2157.  
  2158.           Undefined format
  2159.               (F) The format indicated doesn't seem to exist.  Perhaps
  2160.               it's really in another package?  See the _p_e_r_l_f_o_r_m
  2161.               manpage.
  2162.  
  2163.           Undefined sort subroutine
  2164.               (F) The sort comparison routine specified doesn't seem
  2165.               to exist.  Perhaps it's in a different package?  See the
  2166.               sort entry in the _p_e_r_l_f_u_n_c manpage.
  2167.  
  2168.           Undefined subroutine &%s called
  2169.               (F) The subroutine indicated hasn't been defined, or if
  2170.               it was, it has since been undefined.
  2171.  
  2172.  
  2173.  
  2174.  
  2175.      Page 33                                         (printed 6/30/95)
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181.  
  2182.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  2183.  
  2184.  
  2185.  
  2186.           Undefined subroutine called
  2187.               (F) The anonymous subroutine you're trying to call
  2188.               hasn't been defined, or if it was, it has since been
  2189.               undefined.
  2190.  
  2191.           Undefined subroutine in sort
  2192.               (F) The sort comparison routine specified is declared
  2193.               but doesn't seem to have been defined yet.  See the sort
  2194.               entry in the _p_e_r_l_f_u_n_c manpage.
  2195.  
  2196.           unexec of %s into %s failed!
  2197.               (F) The _u_n_e_x_e_c() routine failed for some reason.  See
  2198.               your local FSF representative, who probably put it there
  2199.               in the first place.
  2200.  
  2201.           Unknown BYTEORDER
  2202.               (F) There are no byteswapping functions for a machine
  2203.               with this byte order.
  2204.  
  2205.           unmatched () in regexp
  2206.               (F) Unbackslashed parentheses must always be balanced in
  2207.               regular expressions.  If you're a vi user, the % key is
  2208.               valuable for finding the matching paren.  See the _p_e_r_l_r_e
  2209.               manpage.
  2210.  
  2211.           Unmatched right bracket
  2212.               (F) The lexer counted more closing curly brackets
  2213.               (braces) than opening ones, so you're probably missing
  2214.               an opening bracket.  As a general rule, you'll find the
  2215.               missing one (so to speak) near the place you were last
  2216.               editing.
  2217.  
  2218.           unmatched [] in regexp
  2219.               (F) The brackets around a character class must match.
  2220.               If you wish to include a closing bracket in a character
  2221.               class, backslash it or put it first.  See the _p_e_r_l_r_e
  2222.               manpage.
  2223.  
  2224.           Unquoted string
  2225.               (W) You used a bare word that might someday be claimed
  2226.               as a reserved word.  It's best to put such a word in
  2227.               quotes, or capitalize it somehow, or insert an underbar
  2228.               into it.  You might also declare it as a subroutine.
  2229.  
  2230.           Unrecognized character \%03o ignored
  2231.               (S) A garbage character was found in the input, and
  2232.               ignored, in case it's a weird control character on an
  2233.               EBCDIC machine, or some such.
  2234.  
  2235.           Unrecognized signal name
  2236.               (F) You specified a signal name to the _k_i_l_l() function
  2237.               that was not recognized.  Say kill -l in your shell to
  2238.  
  2239.  
  2240.  
  2241.      Page 34                                         (printed 6/30/95)
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  2249.  
  2250.  
  2251.  
  2252.               see the valid signal names on your system.
  2253.  
  2254.           Unrecognized switch: -%s
  2255.               (F) You specified an illegal option to Perl.  Don't do
  2256.               that.  (If you think you didn't do that, check the #!
  2257.               line to see if it's supplying the bad switch on your
  2258.               behalf.)
  2259.  
  2260.           Unsuccessful %s on filename containing newline
  2261.               (W) A file operation was attempted on a filename, and
  2262.               that operation failed, PROBABLY because the filename
  2263.               contained a newline, PROBABLY because you forgot to
  2264.               _c_h_o_p() or _c_h_o_m_p() it off.  See the chop entry in the
  2265.               _p_e_r_l_f_u_n_c manpage.
  2266.  
  2267.           Unsupported directory function
  2268.               (F) Your machine doesn't support _o_p_e_n_d_i_r() and
  2269.               _r_e_a_d_d_i_r().
  2270.  
  2271.           Unsupported function %s
  2272.               (F) This machines doesn't implement the indicated
  2273.               function, apparently.  At least, Configure doesn't think
  2274.               so.
  2275.  
  2276.           Unsupported socket function
  2277.               (F) Your machine doesn't support the Berkeley socket
  2278.               mechanism, or at least that's what Configure thought.
  2279.  
  2280.           Unterminated <> operator
  2281.               (F) The lexer saw a left angle bracket in a place where
  2282.               it was expecting a term, so it's looking for the
  2283.               corresponding right angle bracket, and not finding it.
  2284.               Chances are you left some needed parentheses out earlier
  2285.               in the line, and you really meant a "less than".
  2286.  
  2287.           Use of $# is deprecated
  2288.               (D) This was an ill-advised attempt to emulate a poorly
  2289.               defined awk feature.  Use an explicit _p_r_i_n_t_f() or
  2290.               _s_p_r_i_n_t_f() instead.
  2291.  
  2292.           Use of $* is deprecated
  2293.               (D) This variable magically turned on multiline pattern
  2294.               matching, both for you and for any luckless subroutine
  2295.               that you happen to call.  You should use the new //m and
  2296.               //s modifiers now to do that without the dangerous
  2297.               action-at-a-distance effects of $*.
  2298.  
  2299.           Use of %s is deprecated
  2300.               (D) The construct indicated is no longer recommended for
  2301.               use, generally because there's a better way to do it,
  2302.               and also because the old way has bad side effects.
  2303.  
  2304.  
  2305.  
  2306.  
  2307.      Page 35                                         (printed 6/30/95)
  2308.  
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  2315.  
  2316.  
  2317.  
  2318.           Use of implicit split to @_ is deprecated
  2319.               (D) It makes a lot of work for the compiler when you
  2320.               clobber a subroutine's argument list, so it's better if
  2321.               you assign the results of a _s_p_l_i_t() explicitly to an
  2322.               array (or list).
  2323.  
  2324.           Use of uninitialized value
  2325.               (W) An undefined value was used as if it were already
  2326.               defined.  It was interpreted as a "" or a 0, but maybe
  2327.               it was a mistake.  To suppress this warning assign an
  2328.               initial value to your variables.
  2329.  
  2330.           Useless use of %s in void context
  2331.               (W) You did something without a side effect in a context
  2332.               that does nothing with the return value, such as a
  2333.               statement that doesn't return a value from a block, or
  2334.               the left side of a scalar comma operator.  Very often
  2335.               this points not to stupidity on your part, but a failure
  2336.               of Perl to parse your program the way you thought it
  2337.               would.  For example, you'd get this if you mixed up your
  2338.               C precedence with Python precedence and said
  2339.  
  2340.                   $one, $two = 1, 2;
  2341.  
  2342.               when you meant to say
  2343.  
  2344.                   ($one, $two) = (1, 2);
  2345.  
  2346.  
  2347.           Warning: unable to close filehandle %s properly.
  2348.               (S) The implicit _c_l_o_s_e() done by an _o_p_e_n() got an error
  2349.               indication on the close(0.  This usually indicates your
  2350.               filesystem ran out of disk space.
  2351.  
  2352.           Warning: Use of
  2353.               (S) You wrote a unary operator followed by something
  2354.               that looks like a binary operator that could also have
  2355.               been interpreted as a term or unary operator.  For
  2356.               instance, if you know that the rand function has a
  2357.               default argument of 1.0, and you write
  2358.  
  2359.                   rand + 5;
  2360.  
  2361.               you may THINK you wrote the same thing as
  2362.  
  2363.                   rand() + 5;
  2364.  
  2365.               but in actual fact, you got
  2366.  
  2367.                   rand(+5);
  2368.  
  2369.               So put in parens to say what you really mean.
  2370.  
  2371.  
  2372.  
  2373.      Page 36                                         (printed 6/30/95)
  2374.  
  2375.  
  2376.  
  2377.  
  2378.  
  2379.  
  2380.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  2381.  
  2382.  
  2383.  
  2384.           Write on closed filehandle
  2385.               (W) The filehandle you're writing to got itself closed
  2386.               sometime before now.  Check your logic flow.
  2387.  
  2388.           X outside of string
  2389.               (F) You had a pack template that specified a relative
  2390.               position before the beginning of the string being
  2391.               unpacked.  See the pack entry in the _p_e_r_l_f_u_n_c manpage.
  2392.  
  2393.           x outside of string
  2394.               (F) You had a pack template that specified a relative
  2395.               position after the end of the string being unpacked.
  2396.               See the pack entry in the _p_e_r_l_f_u_n_c manpage.
  2397.  
  2398.           Xsub
  2399.               (F) The use of an external subroutine as a sort
  2400.               comparison is not yet supported.
  2401.  
  2402.           Xsub called in sort
  2403.               (F) The use of an external subroutine as a sort
  2404.               comparison is not yet supported.
  2405.  
  2406.           You can't use -l on a filehandle
  2407.               (F) A filehandle represents an opened file, and when you
  2408.               opened the file it already went past any symlink you are
  2409.               presumably trying to look for.  Use a filename instead.
  2410.  
  2411.           YOU HAVEN'T DISABLED SET-ID SCRIPTS IN THE KERNEL YET!
  2412.               (F) And you probably never will, since you probably
  2413.               don't have the sources to your kernel, and your vendor
  2414.               probably doesn't give a rip about what you want.  Your
  2415.               best bet is to use the wrapsuid script in the eg
  2416.               directory to put a setuid C wrapper around your script.
  2417.  
  2418.           You need to quote
  2419.               (W) You assigned a bareword as a signal handler name.
  2420.               Unfortunately, you already have a subroutine of that
  2421.               name declared, which means that Perl 5 will try to call
  2422.               the subroutine when the assignment is executed, which is
  2423.               probably not what you want.  (If it IS what you want,
  2424.               put an & in front.)
  2425.  
  2426.           [gs]etsockopt() on closed fd
  2427.               (W) You tried to get or set a socket option on a closed
  2428.               socket.  Did you forget to check the return value of
  2429.               your _s_o_c_k_e_t() call?  See the getsockopt entry in the
  2430.               _p_e_r_l_f_u_n_c manpage.
  2431.  
  2432.           \1 better written as $1
  2433.               (W) Outside of patterns, backreferences live on as
  2434.               variables.  The use of backslashes is grandfathered on
  2435.               the righthand side of a substitution, but stylistically
  2436.  
  2437.  
  2438.  
  2439.      Page 37                                         (printed 6/30/95)
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446.      PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000)))) PPPPEEEERRRRLLLLDDDDIIIIAAAAGGGG((((1111))))
  2447.  
  2448.  
  2449.  
  2450.               it's better to use the variable form because other Perl
  2451.               programmers will expect it, and it works better if there
  2452.               are more than 9 backreferences.
  2453.  
  2454.  
  2455.  
  2456.  
  2457.  
  2458.  
  2459.  
  2460.  
  2461.  
  2462.  
  2463.  
  2464.  
  2465.  
  2466.  
  2467.  
  2468.  
  2469.  
  2470.  
  2471.  
  2472.  
  2473.  
  2474.  
  2475.  
  2476.  
  2477.  
  2478.  
  2479.  
  2480.  
  2481.  
  2482.  
  2483.  
  2484.  
  2485.  
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.  
  2492.  
  2493.  
  2494.  
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.  
  2501.  
  2502.  
  2503.  
  2504.  
  2505.      Page 38                                         (printed 6/30/95)
  2506.  
  2507.  
  2508.  
  2509.